From f126e671f967bcb32d65d5ca25c7fd09f9d7722d Mon Sep 17 00:00:00 2001 From: KingCol13 Date: Sun, 2 Jan 2022 18:00:46 +0000 Subject: Account for shift clicking or removing fuel from furnance. --- src/UI/SlotArea.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/UI/SlotArea.cpp b/src/UI/SlotArea.cpp index 23850e3d6..948a32a95 100644 --- a/src/UI/SlotArea.cpp +++ b/src/UI/SlotArea.cpp @@ -1891,6 +1891,7 @@ void cSlotAreaFurnace::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a return; } + // Result slot clicked if (a_SlotNum == 2) { bool bAsync = false; @@ -2001,13 +2002,16 @@ void cSlotAreaFurnace::Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a return; } + // Fuel slot clicked if (a_SlotNum == 1) { cItem & DraggingItem = a_Player.GetDraggingItem(); cFurnaceRecipe * FurnaceRecipes = cRoot::Get()->GetFurnaceRecipe(); + // Do not allow non-fuels to be placed in the fuel slot: - if (!FurnaceRecipes->IsFuel(DraggingItem)) + if (!DraggingItem.IsEmpty() && !FurnaceRecipes->IsFuel(DraggingItem) && (a_ClickAction != caShiftLeftClick) && (a_ClickAction != caShiftRightClick)) { + LOGD("Rejecting non fuel item being placed in fuel slot."); return; } } -- cgit v1.2.3